package com.my.structuraltype.mediator.computer;
/*在日常生活中，我们经常使用电脑来看电影，把这个过程描述出来，简化后假定会有如下的交互过程：

（1）首先是光驱要读取光盘上的数据，然后告诉主板，它的状态改变了。

（2）主板去得到光驱的数据，把这些数据交给CPU进行分析处理。

（3）CPU处理完后，把数据分成了视频数据和音频数据，通知主板，它处理完了。

（4）主板去得到CPU处理过后的数据，分别把数据交给显卡和声卡，去显示出视频和发出声音。

要使用调停者模式来实现示例，那就要区分出同事对象和调停者对象。很明显，主板是调停者，而光驱、声卡、CPU、显卡等配件，都是作为同事对象。*/
public class Test {

	public static void main(String[] args) {
		MainBoard main = new MainBoard();
		
		// 双向关系
		
		CDDriver driver = new CDDriver(main);
		CPU cpu = new CPU(main);
		VideoCard vc = new VideoCard(main);
		SoundCard sc = new SoundCard(main);
		
		main.setCpu(cpu);
		main.setDriver(driver);
		main.setVcard(vc);
		main.setScard(sc);
		
		driver.operation("龙猫,dangdangdang...");
	}

}
